module.exports = {
  extends: ['@commitlint/config-angular'],
  parserPreset: {
    parserOpts: {
      headerPattern: /^(.*?)(?:\((.*)\))?:?\s(.*)$/,
      headerCorrespondence: ['type', 'scope', 'subject']
    }
  },
  rules: {
    'type-case': [0],
    'type-empty': [2, 'never'],
    'type-enum': [
      2,
      'always',
      [
        '🌟feat',
        '🎨revise',
        '🐛fix',
        '🔧config',
        '📝docs',
        '💎style',
        '🌠refactor',
        '🗑️del',
        '🚀perf',
        '⬇️downgrade',
        '⬆️upgrade',
        '➕add',
        '➖remove',
        '🚨test',
        '📦build',
        '👷ci',
        '🔂revert',
        '🔖updateVersion',
        '🎉init'
      ]
    ],
    'scope-empty': [2, 'never'],
    'subject-empty': [2, 'never']
  },
  prompt: {
    settings: {},
    skip: ['body', 'footer', 'issues'],
    messages: {
      skip: '回车直接跳过',
      max: '最大%d字符',
      min: '%d chars at least',
      emptyWarning: '内容不能为空，重新输入',
      upperLimitWarning: 'over limit',
      lowerLimitWarning: 'below limit'
    },
    questions: {
      type: {
        description: '请选择提交类型',
        enum: {
          '🌟feat': {
            description: '增加新功能',
            title: 'Features',
            emoji: '🌟'
          },
          '🎨revise': {
            description: '修改业务代码',
            title: 'Features',
            emoji: '🎨'
          },
          '🐛fix': {
            description: '修复bug',
            title: 'Bug Fixes',
            emoji: '🐛'
          },
          '🔧config': {
            description: '修改配置文件',
            title: 'Config',
            emoji: '🔧'
          },
          '📝docs': {
            description: '修改文档',
            title: 'Documentation',
            emoji: '📝'
          },
          '💎style': {
            description: '样式修改不影响逻辑',
            title: 'Styles',
            emoji: '💎'
          },
          '🌠refactor': {
            description: '功能/代码重构',
            title: 'Code Refactoring',
            emoji: '🌠'
          },
          '🗑️del': {
            description: '删除代码/文件',
            title: 'Delete',
            emoji: '🗑️'
          },
          '🚀perf': {
            description: '性能优化',
            title: 'Performance Improvements',
            emoji: '🚀'
          },
          '⬇️downgrade': {
            description: '依赖降级',
            title: 'Downgrade',
            emoji: '⬇️'
          },
          '⬆️upgrade': {
            description: '依赖升级',
            title: 'Upgrade',
            emoji: '⬆️'
          },
          '➕add': {
            description: '添加依赖',
            title: 'Add',
            emoji: '➕'
          },
          '➖remove': {
            description: '移除依赖',
            title: 'Remove',
            emoji: '➖'
          },
          '🚨test': {
            description: '增删测试',
            title: 'Tests',
            emoji: '🚨'
          },
          '📦build': {
            description: '打包',
            title: '打包',
            emoji: '📦'
          },
          '👷ci': {
            description: 'CI部署',
            title: 'Continuous Integrations',
            emoji: '⚙️'
          },
          '🔂revert': {
            description: '版本回退',
            title: 'Reverts',
            emoji: '🔂'
          },
          '🔖updateVersion': {
            description: '版本更新',
            title: 'Update Version',
            emoji: '🔖'
          },
          '🎉init': {
            description: '初始化项目',
            title: 'Initial',
            emoji: '🎉'
          }
        }
      },
      scope: {
        description: '请输入修改的范围（必填）'
      },
      subject: {
        description: '请简要描述提交（必填）'
      },
      body: {
        description: '请输入详细描述（可选）'
      },
      isBreaking: {
        description: '有什么突破性的变化吗?'
      },
      breakingBody: {
        description: '一个破坏性的变更提交需要一个主体。 请输入提交本身的更长的描述  '
      },
      breaking: {
        description: 'Describe the breaking changes'
      },
      isIssueAffected: {
        description: '是否有未解决的问题?'
      },
      issuesBody: {
        description:
          'If issues are closed, the commit requires a body. Please enter a longer description of the commit itself'
      },
      issues: {
        description: '请输入问题说明'
      }
    }
  }
}
